머신러닝은 데이터를 이용해 컴퓨터가 규칙을 학습하고 예측하도록 만드는 기술이다.
가장 가까운 이웃 데이터를 기준으로 분류하는 알고리즘이다.
본 예제는 scikit-learn의 데이터 분리(train_test_split)와 모델 학습(fit), 성능 평가(score) 흐름을 보여 준다. 훈련/테스트 세트를 분리함으로써 모델의 일반화 성능을 점검할 수 있다.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
iris = load_iris()
X = iris.data
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
print("훈련 정확도:", knn.score(X_train, y_train))
print("테스트 정확도:", knn.score(X_test, y_test))
연속적인 값을 예측하는 대표적인 회귀 모델이다.
본 예제는 scikit-learn의 데이터 분리(train_test_split)와 모델 학습(fit), 성능 평가(score) 흐름을 보여 준다. 훈련/테스트 세트를 분리함으로써 모델의 일반화 성능을 점검할 수 있다.
from sklearn.datasets import fetch_california_housing
from sklearn.linear_model import LinearRegression
housing = fetch_california_housing()
X = housing.data
y = housing.target
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
lr = LinearRegression()
lr.fit(X_train, y_train)
print("테스트 정확도:", lr.score(X_test, y_test))
본 예제는 matplotlib을 이용한 시각화 기본 흐름(데이터 준비 → 그래프 함수 호출 → show())을 제시한다.
from sklearn.datasets import fetch_openml
import matplotlib.pyplot as plt
mnist = fetch_openml('mnist_784', version=1)
X = mnist.data
y = mnist.target
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
print("MNIST 정확도:", knn.score(X_test, y_test))